package com.aizuda.boot.modules.business.permission.domain.response;

import com.aizuda.boot.modules.common.constant.enums.PermissionStatusType;
import com.aizuda.boot.modules.common.constant.enums.ValidityType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;

/**
 * @author sangyirong
 * @version 1.0
 * @date 2025/5/16
 */
@Data
@Schema(description = "角色返回权限信息")
public class PermissionVo {

    /**
     * 权限id
     */
    @Schema(description = "权限ID")
    private Long  permissionId;

    /**
     * 权限名称
     */
    @Schema(description = "权限名称")
    private String permissionName;

    /**
     * 授权有效期类型
     */
    @Schema(description = "授权有效期类型")
    private ValidityType validityType;

    /**
     * 授权有效期开始时间
     */
    @Schema(description = "授权有效期开始时间")
    private Date validityStartDate;

    /**
     * 授权有效期结束时间
     */
    @Schema(description = "授权有效期结束时间")
    private Date validityEndDate;

    /**
     * 权限状态
     */
    @Schema(description = "权限状态")
    private PermissionStatusType permissionStatus;
}